Classe de conexão com banco de dados PostGreSQL [golfinho/Elefante]
Publicado por Emiliano Eloi Silva Barbosa 04/04/2007
[ Hits: 11.964 ]
Homepage: http://emilianoeloi.com.br
Tradução do script php de leo genilhu:
http://www.vivaolinux.com.br/scripts/verScript.php?codigo=257
Classe de conexão com banco de dados PostGreSQL, com métodos de inserção e atualização de query's.
Ótimo para quem esta iniciando OOP.
class database{ var $db_HOST = ""; var $db_PORT = ""; var $db_USER = ""; var $db_PASS = ""; var $db = ""; var $CONST_ERRO = "erro ao conectar no nosso banco"; var $dbc; var $last_id; function database($db, $user, $pass="nopass",$host="localhost", $port=5432){ $this->db_HOST=$host; $this->db_PORT=$port; $this->db_USER=$user; $this->db_PASS=$pass; $this->db=$db; $this->connect_db(); } function connect_db(){ $connect_string = "host=".$this->db_HOST." port=".$this->db_PORT." user=".$this->db_USER." password=".$this->db_PASS." dbname=".$this->db; $this->dbc = pg_connect($connect_string); return $dbc; } function delete_db($table,$id){ $Campo_id = $this->getPrimaryKey($table); $tmp="delete from $table where $Campo_id='$id'"; $sts = pg_query($this->dbc,$tmp) or die($this->CONST_ERRO . pg_last_error()); return $sts ; } function close_db (){ pg_close($this->dbc); } function insere_db($campos,$valores,$tab){ $inicio="INSERT INTO $tab("; $meio=") VALUES ("; $fim=")"; $valor = sizeof($campos); $strc=""; for($i=0;$i <= ($valor-1);$i++){ $strc.="$campos[$i]"; if($i != ($valor-1)){ $strc.=","; } } $strv=""; for($k=0;$k <= ($valor-1);$k++){ $strv.="'$valores[$k]'"; if($k != ($valor-1)){ $strv.=","; } } $insere="$inicio$strc$meio$strv$fim"; $this->query_db($insere); $this->setLastID($tab); } function query_db($sql){ return pg_query($this->dbc,$sql) or die($this->CONST_ERRO . pg_last_error()); } function reg_db($table){ $tmp="select * from $table"; $sts = pg_query($this->dbc,$tmp) or die($this->CONST_ERRO . pg_last_error()); $num = pg_num_rows($sts); return($num); } function getPrimaryKey($table){ $sql = "select indexdef from pg_indexes where tablename = '$table' and indexname LIKE '%pkey';"; $res = pg_query($this->dbc,$sql) or die($this->CONST_ERRO . pg_last_error()); $resultado = pg_fetch_result($res, 'indexdef'); $arr_temp = explode("(",$resultado); $arr_temp2 = $arr_temp[1]; $arr_temp = explode(")",$arr_temp2); return $arr_temp[0]; } function setLastID($table){ $sequence_name = $table . "_" . $this->getPrimaryKey($table) . "_seq"; $sql = "select currval('$sequence_name') AS lastid"; $res = pg_query($this->dbc,$sql) or die($this->CONST_ERRO . pg_last_error()); $this->last_id = pg_fetch_result($res,'lastid'); } function id_db(){ return $this->last_id; } };
Classe básica de acesso a MySQL pronta para extensões
Nova conexão ao banco de dados PDO
Retornando aniversariantes do mês
Classe para manipulação do BB (MySQL)
Nenhum comentário foi encontrado.
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Desktop Linux ganha novos apps enquanto IA invade o noticiário
Blender 5.0 Beta, Firefox 144 e avanço da IA dominam o dia no mundo Linux
Desktop Linux ganha fôlego enquanto distros refinam experiência e segurança
Wayland em alta, IA em debate e novos ventos para distros e devices
Como mudar o nome de dispositivos Bluetooth via linha de comando
Adicionando o repositório backports no Debian 13 Trixie
Linux x Plataformas de Trading - um problema (in-)solúvel? (4)
Erro ao fazer remaster usando Penguin eggs (4)